package org.roulette.utils;

import java.util.ArrayList;
import java.util.Collection;

/**
 *
 * @author hudimar
 */
public enum BetConstant {
	none(0),

    number_00(36, -1),number_0(36, 0),number_1(36, 1),number_2(36, 2),number_3(36, 3),number_4(36, 4),number_5(36, 5),number_6(36, 6),
    number_7(36, 7),number_8(36, 8),number_9(36, 9),number_10(36, 10),number_11(36, 11),number_12(36, 12),number_13(36, 13),number_14(36, 14),
    number_15(36, 15),number_16(36, 16),number_17(36, 17),number_18(36, 18),number_19(36, 19),number_20(36, 20),number_21(36, 21),number_22(36, 22),
    number_23(36, 23),number_24(36, 24),number_25(36, 25),number_26(36, 26),number_27(36, 27),number_28(36, 28),number_29(36, 29),
    number_30(36, 30),number_31(36, 31),number_32(36, 32),number_33(36, 33),number_34(36, 34),number_35(36, 35),number_36(36, 36),
	
	even(2, 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36),
	odd(2, 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35),
	red(2, 1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36),
	black(2, 2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35),
	range_1to18(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18),
	range_19to36(2, 19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36),
	dozen_1to12(3, 1,2,3,4,5,6,7,8,9,10,11,12),
	dozen_13to24(3, 13,14,15,16,17,18,19,20,21,22,23,24),
	dozen_25to36(3, 25,26,27,28,29,30,31,32,33,34,35,36),
	column_1(3, 1,4,7,10,13,16,19,22,25,28,31,34),
	column_2(3, 2,5,8,11,14,17,20,23,26,29,32,35),
	column_3(3, 3,6,9,12,15,18,21,24,27,30,33,36),
	sixline_1(6, 1,2,3,4,5,6),sixline_2(6, 4,5,6,7,8,9),
	sixline_3(6, 7,8,9,10,11,12),sixline_4(6, 10,11,12,13,14,15),
	sixline_5(6, 13,14,15,16,17,18),sixline_6(6, 16,17,18,19,20,21),
	sixline_7(6, 19,20,21,22,23,24),sixline_8(6, 22,23,24,25,26,27),
	sixline_9(6, 25,26,27,28,29,30),sixline_10(6, 28,29,30,31,32,33),
	sixline_11(6, 31,32,33,34,35,36),
	topline(7 ,-1,0,1,2,3),
	corner_1(9, 1,2,4,5), corner_2(9, 2,3,5,6), corner_4(9, 4,5,7,8), corner_5(9, 5,6,8,9),
	corner_7(9, 7,8,10,11), corner_8(9, 8,9,11,12), corner_10(9, 10,11,13,14),
	corner_11(9, 11,12,14,15),	corner_13(9, 13,14,16,17),	corner_14(9, 14,15,17,18),
	corner_16(9, 16,17,19,20),	corner_17(9, 17,18,20,21),	corner_18(9, 19,20,22,23),
	corner_19(9, 20,21,23,24),	corner_20(9, 22,23,25,26),	corner_23(9, 23,24,26,27),
	corner_25(9, 25,26,28,29),	corner_26(9, 26,27,29,30),	corner_28(9, 28,29,31,32),
	corner_29(9, 29,30,32,33),	corner_31(9, 31,32,34,35),	corner_32(9, 32,33,35,36),
	street_1(12, 1,2,3),street_4(12, 4,5,6),street_7(12, 7,8,9),
	street_10(12, 10,11,12),street_13(12, 13,14,15),street_16(12, 16,17,18),
	street_19(12, 19,20,21),street_22(12, 22,23,24),street_25(12, 25,26,27),
	street_28(12, 28,29,30),street_31(12, 31,32,33),street_34(12, 34,35,36),
	basket_1(12, 0,1,2),basket_2(12, -1,2,3),basket_3(12, -1,0,2),
	row_00(18, -1,0),
	split_1_2(18, 1,2),	split_1_4(18, 1,4),	split_2_3(18, 2,3),	split_2_5(18, 2,5),	split_3_6(18, 3,6),
	split_4_5(18, 4,5),	split_4_7(18, 4,7),	split_5_6(18, 5,6),	split_5_8(18, 5,8),	split_6_9(18, 6,9),
	split_7_8(18, 7,8),	split_7_10(18, 7,10), split_8_9(18, 8,9), split_8_11(18, 8,11),	split_9_12(18, 9,12),
	split_10_11(18, 10,11),	split_10_13(18, 10,13),	split_11_12(18, 11,12),	split_11_14(18, 11,14),	split_12_15(18, 12,15),
	split_13_14(18, 13,14),	split_13_16(18, 13,16),	split_14_15(18, 14,15),	split_14_17(18, 14,17),	split_15_18(18, 15,18),
	split_16_17(18, 16,17),	split_16_19(18, 16,19),	split_17_18(18, 17,18),	split_17_20(18, 17,20),	split_18_21(18, 18,21),
	split_19_20(18, 19,20),	split_19_22(18, 19,22),	split_20_21(18, 20,21),	split_20_23(18, 20,23),	split_21_24(18, 21,24),
	split_22_23(18, 22,23),	split_22_25(18, 22,25),	split_23_24(18, 23,24),	split_23_26(18, 23,26),	split_24_27(18, 24,27),
	split_25_26(18, 25,26),	split_25_28(18, 25,28),	split_26_27(18, 26,27),	split_26_29(18, 26,29),	split_27_30(18, 27,30),
	split_28_29(18, 28,29),	split_28_31(18, 28,31),	split_29_30(18, 29,30),	split_29_32(18, 29,32),	split_30_33(18, 30,33),
	split_31_32(18, 31,32),	split_31_34(18, 31,34),	split_32_33(18, 32,33),	split_32_35(18, 32,35),	split_33_36(18, 33,36),
	split_34_35(18, 34,35),	split_35_36(18, 35,36),
	;

	private Collection<Integer> numbers;
	public Collection<Integer> getNumbers(){
		return numbers;
	}
	private int payout;
	public int getPayout(){return payout;}
	BetConstant(int payout, int... numbers){
		this.payout = payout;
		this.numbers = new ArrayList<Integer>(numbers.length);
		for(int number: numbers)
			this.numbers.add(number);
	}
}
